Consider a computer system, such as that illustrated in FIG. 1. In FIG. 1, microprocessor 102 comprises many sub-blocks, such as arithmetic logic unit (ALU) 104 and on-chip cache 106. Microprocessor 102 may also communicate to other levels of cache, such as off-chip cache 108. Higher memory hierarchy levels, such as system memory 110, are accessed via host bus 112 and chipset 114. In addition, other off-chip functional units, such as graphics accelerator 116 and network interface controller (NIC) 118, to name just a few, may communicate with microprocessor 102 via appropriate busses or ports.
As device technology scales to smaller dimensions, transistor threshold voltage is expected to decrease in magnitude so as to provide constant electric field scaling. A smaller threshold voltage may lead to an increase in sub-threshold leakage current. For many circuits, such as logic stages or register files in microprocessor 102, sub-threshold leakage current may cause unwanted power dissipation, reduced noise robustness, and slower performance.
Various techniques have been proposed and used to control leakage current, such as modifying the transistor threshold voltage. In some cases, transistor threshold voltage is modified directly through process technology by incorporating a set of devices having different threshold voltages, or by making the device body terminal of a transistor accessible so that its threshold voltage may be controlled by applying a body bias voltage. However, the former technique presently has the limitation that the transistor threshold voltage cannot be dynamically changed for a given transistor once the integrated circuit has been fabricated. The latter technique, although more flexible than the former, presently has the limitation of a relatively large body terminal capacitance, which may lead to a substantial increase in the number of clock cycles needed to change the threshold voltage of the devices.